1. Field of the Invention
The technology presented herein relates to a storage medium having a game program stored thereon, a game apparatus and an input device, and more particularly to a storage medium in which stored is a game program used for a computer game for which a pointing device such as a touch panel is employed, a game apparatus and an input device.
2. Description of the Background Art
Conventionally, various types of games for which a joystick is used as a controller have been developed. The joystick is provided with a lever, and a player tilts the lever forward and backward, and rightward and leftward, thereby making inputs according to the directions. In general, a direction in which and a degree to which the joystick is tilted are handled by a game apparatus as an input direction and an input quantity, respectively. In a case where the player tilts the joystick lever in a certain direction to a certain degree to hold the joystick lever at that position, the positional information is continuously outputted and handled by the game apparatus as the input direction and the input quantity. The joystick is also used for a typical personal computer as well as used as a controller for a home game apparatus.
On the other hand, an input device which is operated by a player using a touch panel has been also developed, as disclosed in, for example, Japanese Laid-Open Patent Publication No. 11-53115 (Patent Document 1) and Japanese Laid-Open Patent Publication No. 7-182092 (Patent Document 2). With the input device disclosed in the Patent Document 1, as shown in FIG. 1 and FIG. 3 of the Patent Document 1, a player uses a touch panel to utilize, as a direction in which and a speed at which a cursor moves, a direction and a distance from a predetermined origin on the touch panel to a point at which the player is pointing. On the other hand, in the input device disclosed in the Patent Document 2, as shown in FIG. 6 of the Patent Document 2, a game screen is displayed on a display having a touch panel mounted thereon. According to a movement corresponding to a vector quantity of a movement of a finger with which a player touches the touch panel, an object which is selectively touched is moved on the game screen.
Here, if an operation in which a joystick is emulated can be realized for a game apparatus having a touch panel, it is convenient. In this case, information which is eventually required is a vector value of two axes of X and Y corresponding to a joystick input value. The vector value is represented as a vector value (sx, sy) in a stick coordinate system. A direction indicated by the vector value (sx, sy) is a direction in which the joystick is tilted and a length of the vector value is a degree to which the joystick is tilted. Further, the length of the vector value corresponding to the joystick being tilted to the maximum is set as “1”. In this case, sx=−1 to +1 and sy=−1 to +1, and the length of “0” indicates that the joystick is in a neutral (upright) position.
Further, the vector value (sx, sy) in the stick coordinate system can be obtained according to the following formula, using an origin (ox, oy) on the touch panel and a point (tx, ty) at which the player is pressing the touch panel, the origin and the point being represented in the touch panel coordinate system.sx=(tx−ox)×ratiosy=(ty−oy)×ratiowhere the ratio is a conversion ratio used for defining a length in the touch panel coordinate system, which corresponds to the length “1” in the stick coordinate system. For example, when a length from an origin is “10” in the touch panel coordinate system, the length is defined as “1” in the stick coordinate system. Consequently, the ratio is set as “ratio=1÷10=0.1”.
While the invention disclosed in the Patent Document 1 utilizes, for information processing, a difference between an origin and a point at which a touch panel is being pressed, when the input method of the invention disclosed in the Patent Document 1 is applied as it is to the operation in which a joystick is emulated, various problems arise. With reference to FIGS. 13A to 14C, the problem on the input device disclosed in the Patent Document 1 will be described. In FIGS. 13A to 14C, the horizontal direction is the X axis direction (the rightward direction is the positive direction) and the vertical direction is the Y axis direction (the forward direction is the positive direction) in the touch panel coordinate system. O is the origin in the touch panel coordinate system.
FIGS. 13A and 13B show an example of an operation in which a player uses the touch panel to shift from a stick input vertically in front of the origin (an input for tilting the joystick vertically in front of the origin; an input by which sx=0 and sy>0 is obtained as the stick coordinate values) to a stick input on the right side of the origin (an input for tilting the joystick directly to the right; an input by which sx>0 and sy=0 is obtained as the stick coordinate values). FIGS. 14A to 14C show an example of an operation in which the player uses the touch panel to shift from the stick input on the right side of the origin to a stick input on the lift side of the origin (an input for tilting the joystick directly to the left; an input by which sx<0 and sy=0 is obtained as the stick coordinate values). FIGS. 13A to 14C schematically illustrate a mark representing a hand as a player's hand that presses the touch panel.
In FIG. 13A, in a case where the stick input vertically in front of the origin is performed on the touch panel, the player presses a point T1 (t1x, t1y) which is in front of the origin O (ox, oy) (which is in the direction which is parallel to the Y axis and in which the Y value increases) on the touch panel. Based on the origin O (ox, oy) and the point T1 (t1x, t1y), a vector value V1 oriented vertically in front of the origin can be obtained.
On the other hand, in FIG. 13B, in a case where the stick input on the right side of the origin is performed on the touch panel, the player must press a point T2 (t2x, t2y) which is to the right of the origin O (ox, oy) (which is the direction which is parallel to the X axis and in which the X value increases) on the touch panel. Based on the origin O (ox, oy) and the point T2 (t2x, t2y), a vector value V2 oriented to the right can be obtained. Accordingly, when the stick input vertically in front of the origin is shifted to the stick input on the right side of the origin on the touch panel, the player must press the touch panel aiming at the touch point which is in the right backward direction as seen from the point T1, as shown by the dotted lines in FIG. 13B. That is, in the case of the stick input on the right side of the origin being desired, the player attempts to move the pressing point in the rightward direction (the direction which is parallel to the X axis and in which the X value increases) of the point at which the player is currently pointing (it is also convenient for the player to do so), whereas when the point at which the player is currently pointing deviates vertically from the origin, it is not sufficient to move the pressing point in the rightward direction. For example, in a case where the point at which the player is currently pointing is in front of the origin, it is necessary to move the pressing point in the right backward direction in order to make the stick input on the right side of the origin, and thereby the difference between controllability of a joystick and controllability of a touch panel confuses the player operating the touch panel and it is necessary to constantly confirm the position of the origin.
Since a frame for guiding a lever is provided for the joystick in practice, for example, in a case where a rightward tilting force is applied to the lever being tilted in the maximum forward direction, the lever is naturally moved in the right backward direction along the guide, and the lever is eventually tilted in the maximum rightward direction. However, in a case where an operation in which a joystick is emulated using a touch panel is realized, since there is no guide as described above, the player must intentionally move the pressing point in the right backward direction. Further, in the case of an actual joystick, since the player can perceive how the lever is being tilted with his finger or hand, it is not necessary to visually confirm the origin of the joystick. However, in a case where an operation in which a joystick is emulated using a touch panel is realized, since it is impossible to perceive the origin with a finger, it is necessary to visually confirm the position of the origin.
Further, in FIG. 14A, in a case where a stick input on the right side of the origin is performed on a touch panel, the player presses a point T3 (t3x, t3y) which is to the right of an origin O (ox, oy) on the touch panel. Based on the origin O (ox, oy) and the point T3 (t3x, t3y), a vector value V3 oriented to the right is obtained.
In a case where the stick input on the right side of the origin, which is an input made by a player at the point T3 using the touch panel as described above, is shifted to a stick input on the left side of the origin, the player attempts to move the pressing point slightly in the leftward direction of the point T3 at which the player is pointing (the direction which is parallel to the X axis and in which the X value decreases). However, as shown in FIG. 14B, in a case where the player presses a point T4 (t4x, t4y) which is slightly to the left of the point T3, as long as the point T4 is to the right of the origin O, a vector value V4 oriented to the right is obtained.
Accordingly, in a case where the stick input on the right side of the origin, which is an input made by the player at the point T3 using the touch panel as described above, is shifted to the stick input on the left side of the origin, the player must move the pressing point in the leftward direction beyond the origin O from the point T3 at which the player is pointing. For example, as shown in FIG. 14C, in a case where the stick input on the left side of the origin is performed on the touch panel, the player must press a point T5 (t5x, t5y) which is to the left of the origin O (ox, oy) on the touch panel. Based on the origin O (ox, oy) and the point T5 (t5x, t5y), a vector value V5 oriented to the left can be obtained. Accordingly, when the stick input on the right side of the origin is shifted to the stick input on the left side of the origin on the touch panel, the player must press the touch panel aiming at the touch point which is to the left beyond the origin as seen from the point T3, as shown by the dotted lines in FIG. 14C. That is, the pressing point must be moved over a long distance, and it is necessary to perform an operation with confirming the position of the origin.
Since a frame for guiding a lever is provided for a joystick in practice, for example, the lever being tilted in the maximum rightward direction cannot be further tilted in the rightward direction. However, in a case where an operation in which a joystick is emulated using a touch panel is realized, since there is no guide as described above, the pressing point can be moved unlimitedly in the rightward direction within the touch panel surface. Then, in a case where it is desired that the input on the right side of the origin is changed to the input on the left side of the origin, it is necessary to move the pressing point over a long distance (that is, a response to the operation is deteriorated.)
Specifically, a predetermined area on the touch panel (for example, a circular area having the origin O at the center thereof) is assigned to each stick coordinate value, and when the areas other than the predetermined area are touch-operated, it is determines that a maximum stick input quantity is inputted. Thereby, an operation which is closer to an operation of a joystick can be realized. In this case, however, in a case where when the area other than the predetermined area is touch-operated, it is desired that the stick input quantity is changed, it is necessary to move the pressing point into the predetermined area. Further, in a case where it is desired that the direction of the stick input is changed, it is necessary to move the pressing point over a long distance. Moreover, in the case of the actual joystick, since the player can perceive how the lever is being tilted with his finger or hand, it is not necessary to visually confirm the origin of the joystick. On the other hand, in a case where an operation in which a joystick is emulated using a touch panel is realized, since it is impossible to perceive the origin with his finger, it is necessary to visually confirm the position of the origin.
A method for relatively moving a cursor according to a movement trace of a player's finger is also disclosed in the Patent Document 1. Further, a method for moving an object which is selectively touched on a game screen according to a movement corresponding to a vector of a movement of a finger with which a player touches a touch panel is disclosed in the Patent Document 2. In these methods, however, since the input is not made until the players' finger moves, the input for which a joystick is emulated cannot be realized. This is because an actual joystick continuously supplies a constant output when a lever is held at a given position. More specifically, in a case where a game object is moved according to a movement corresponding to a vector of a movement of a finger which touches the touch panel in the method disclosed in the Patent Document 2, the finger must be continuously moved in order to move the game object.